package com.springboot.learn_sofa_rpc_server;

import com.alipay.sofa.rpc.config.ProviderConfig;
import com.alipay.sofa.rpc.config.ServerConfig;
import com.springboot.IRpcService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

@Service
public class RpcService {
    @Value("${rpc.ip}")
    private String rpc_ip;
    @Value("${rpc.port}")
    private int rpc_port;
    @Value("${rpc.protocol}")
    private String rpc_protocol = "bolt";

    public void init() {
        ServerConfig serverConfig = new ServerConfig()
                .setProtocol(rpc_protocol)//设置一个协议，默认bolt
                .setPort(rpc_port)//设置一个端口，默认12200
                .setDaemon(false);//非守护线程

        ProviderConfig<IRpcService> providerConfig = new ProviderConfig<IRpcService>()
                .setInterfaceId(IRpcService.class.getName())//指定接口
                .setRef(new HelloSyncServiceImpl())//指定实现
                .setServer(serverConfig);//指定服务端

        providerConfig.export();//发布服务
    }

}
